package com.itcast.java.common.base;

import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import lombok.Data;

import java.util.List;

/**
 * 基础分页响应
 *
 * @author hrz
 * @since 2021/2/24 0024
 */
@Data
@AllArgsConstructor
public class BasePageDTO<E> {

    /**
     * 总记录数
     */
    private Long totalCount;

    /**
     * 每页大小
     */
    private Long pageSize;

    /**
     * 总页码
     */
    private Long totalPage;

    /**
     * 当前页码
     */
    private Long currPage;

    /**
     * 当前页所有数据
     */
    private List<E> list;

    public static <E> BasePageDTO<E> of(IPage<E> page) {
        return new BasePageDTO<>(page.getTotal(), page.getSize(), page.getPages(), page.getCurrent(), page.getRecords());
    }

}
